﻿using System;
using System.Linq.Expressions;
using Jin.Core.DataProviders;


namespace Jin.Core.Linq.Structure
{
    /// <summary>
    /// 查询驱动程序定义查询规则
    /// </summary>
   public interface IQueryLanguage
    {
       /// <summary>
       /// 驱动名称
       /// </summary>
       string ClienName { get; set; }
       /// <summary>
       /// 数据驱动程序
       /// </summary>
       IDataProvider DataProvider { get; set; }
       string Quote(string name);
       bool IsScalar(Type type);
       bool CanBeColumn(Expression expression);
       Expression Translate(Expression expression);
       string Format(Expression expression);
       Expression Parameterize(Expression expression);

    }
}
